// -*- IDL -*-

/**
 * @file ClientRequestInterceptor.pidl
 *
 * @brief Pre-compiled IDL source for the PortableInterceptor
 * components in the ORB.
 *
 * This file contains the interface definitions for "Portable"
 * Interceptor support.
 * The following is from orbos/99-12-02 Portable Interceptors spec,
 * the full IDL is downloadable from orbos/99-12-02.
 */

#ifndef _CLIENT_REQUEST_INTERCEPTOR_IDL_
#define _CLIENT_REQUEST_INTERCEPTOR_IDL_

#include "tao/PI/Interceptor.pidl"
#include "tao/PI/PIForwardRequest.pidl"

module PortableInterceptor {

  typeprefix PortableInterceptor "omg.org";

  local interface ClientRequestInfo;

  local interface ClientRequestInterceptor : Interceptor
  {
    void send_request (in ClientRequestInfo ri) raises (ForwardRequest);
    void send_poll (in ClientRequestInfo ri);
    void receive_reply (in ClientRequestInfo ri);
    void receive_exception (in ClientRequestInfo ri) raises (ForwardRequest);
    void receive_other (in ClientRequestInfo ri) raises (ForwardRequest);
  };
};

#endif  /* _CLIENT_REQUEST_INTERCEPTOR_IDL_ */
